<?php

defined('SYSPATH') or die('No direct access allowed.');
/*
 * For this class, DO NOT using Id in table
 */
interface Model_InterfaceObject {

    /**
     *
     * @param <type> $o_entity 
     */
    public function load($o_entity);

    /**
     *
     * @param <type> $o_entity 
     */
    public function insert_by($o_entity);

    /**
     *
     * @param <type> $o_entity 
     */
    public function update_by($o_entity);

    /**
     *
     * @param <type> $o_entity
     */
    public function delete_by($o_entity);

    /**
     * @return Domain_Entities_Category
     */
    public function get_data();

    /**
     *
     * @param <type> $s_column is mane of column in db
     * @param <type> $a_option is array( where,order by, group by, limit, offset )
     * @param <type> $val
     */
    public function builder_select($s_column, $a_option, $val = null);

    /**
     *
     * @param <type> $a_columns
     */
    public function set_column($a_columns = array());

    /**
     *
     * @param <type> $column
     * @return <type>
     */
    public function query_all($column= array());

    /**
     *
     * @param <type> $column
     * @return <type>
     */
    public function query($column= array());

    /**
     *
     * @param <type> $offset
     * @param <type> $limit
     * @return <type>
     */
    public function load_all($offset, $limit, $filter, $sort,$count);
}

?>
